﻿using Himp.Base;
using Himp.Base;
using System;
using System.Collections.Generic;
using System.Text;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;

namespace Himp.Outpatient
{
    /// <summary>
    /// 检治项目记录
    /// </summary>
    public class ClinicItemRecord : AuditedAggregateRoot<Guid>, IMultiTenant
    {
        /// <summary>
        /// 申请单号
        /// </summary>
        public string ApplicationNo { get; set; }

        /// <summary>
        /// 门诊挂号登记Id
        /// </summary>
        public Guid OtpRgstRecId { get; set; }

        /// <summary>
        /// 门诊挂号登记
        /// </summary>
        public OtpRgstRec OtpRgstRec { get; set; }

        /// <summary>
        /// 门诊患者信息
        /// </summary>
        public Guid PatientId { get; set; }

        /// <summary>
        /// 患者姓名
        /// </summary>
        public string PsnName { get; set; }

        /// <summary>
        /// 患者性别
        /// 1男 
        /// 2女
        /// </summary>
        public EnumGender Gender { get; set; }

        /// <summary>
        /// 年龄
        /// </summary>
        public int Age { get; set; }

        /// <summary>
        /// 年龄单位
        /// </summary>
        public EnumAgeUnit AgeUnit { get; set; }

        /// <summary>
        /// 门诊号
        /// 院内唯一流水
        /// </summary>
        public string IptOtpNo { get; set; }

        /// <summary>
        /// 门诊项目类型
        /// </summary>
        public EnumClinicItemType ApplicationFormType { get; set; }

        /// <summary>
        /// 发生日期
        /// </summary>
        public DateTime BeginDate { get; set; }

        /// <summary>
        /// 开单科室
        /// </summary>
        public string SubmitDeptmentValue { get; set; }

        /// <summary>
        /// 开单科室
        /// </summary>
        public string SubmitDeptmentLabel { get; set; }

        /// <summary>
        /// 开单医生
        /// </summary>
        public string SubmitStaffValue { get; set; }

        /// <summary>
        /// 开单医生
        /// </summary>
        public string SubmitStaffLabel { get; set; }

        /// <summary>
        /// 申请单状态
        /// </summary>
        public EnumAppyRecStas ApplicationFormStatus { get; set; }

        /// <summary>
        /// 执行科室
        /// </summary>
        public string ExecutionDepartmentCode { get; set; }

        /// <summary>
        /// 执行科室
        /// </summary>
        public string ExecutionDepartmentName { get; set; }

        /// <summary>
        /// 审核人
        /// </summary>
        public string? ReviewStaffCode { get; set; }

        /// <summary>
        /// 审核人
        /// </summary>
        public string? ReviewStaffName { get; set; }

        /// <summary>
        /// 审核日期
        /// </summary>
        public DateTime? ReviewDate { get; set; }

        /// <summary>
        /// 检治项目明细
        /// </summary>
        public List<ClinicItemRecordDetail> ClinicItemRecordDetails { get; set; }

        /// <summary>
        /// 诊断名称
        /// </summary>
        public string DiagnosisLabel { get; set; }

        /// <summary>
        /// 简要病史
        /// </summary>
        public string MedicalHistory { get; set; }

        /// <summary>
        /// 紧急的
        /// </summary>
        public bool IsUrgent { get; set; }

        /// <summary>
        /// 订单No
        /// </summary>
        public string OrderNo { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public Guid? TenantId { get; set; }
    }
}
